Inhalt Vorige Nächste Homepage
;============================================================================
; Diese Funktion ist das Gegenstück zu PackByteRun1(). Sie entpackt die
; von o.g. Funktion komprimierten Daten wieder zurück ins Originalformat.
;----------------------------------------------------------------------------
; Synopsis:    count = UnpackByteRun1 (InParam, OutBuf, OutLen)
;               D0                      A0!      A1!      D0
;
; Eingaben:    A0 --> APTR  auf eine UnpackParam-Struktur (s. extradefs.i)
;              A1 --> APTR  auf den Ausgabepuffer für die entpackten Daten
;              D0 --> ULONG Größe des Ausgabepuffers in Bytes (= Anzahl zu
;                           entpackender Bytes)
;
; Ergebnis:    D0 --> ULONG Anzahl tatsächlich entpackter Bytes, ist dieser
;                           Wert kleiner als die gewünschte Anzahl, dann sind
;                           alle Daten entpackt.
;
; Bemerkung:   Die Parameter-Struktur muß jeweils beim ersten Aufruf für ei-
;              nen gepackten Datenblock initialisiert werden, und dient dann
;              bei weiteren Aufrufen als Kennung des jeweiligen Datenblocks.
;              Auf diese Weise können Sie einen größeren Datenblock in mehre-
;              ren kleinen Einheiten wieder entpacken. Sie brauchen dann nur
;              immer den Ausgabepuffer und dessen Größe neu angeben und die-
;              selbe Struktur verwenden, bis alle Daten entpackt sind.
;              Diese Funktion löscht automatisch die Prozessor-Caches.
;
;   ACHTUNG:   In C/C++ ist die A0-APTR-Eingabe als Typ STRUCT *UnpackParam
;   ¯¯¯¯¯¯¯¯   zu behandeln.
;
; Siehe auch:  PackByteRun1()
;============================================================================

Inhalt Vorige Nächste Homepage